A database containing numerous small records is maintained in a network infrastructure controller available from manufacturers such as Motorola, Inc. at 1303 East Algonquin Road, Schaumburg, Ill. 60193. Generally, this active controller is redundant, with another controller in hot "Standby" mode ready to assume operation if the active controller becomes disabled. Changes in the data base of the active controller occur frequently and must be duplicated in the Standby controller in a nearly real time manner. Typically when, the time scale of the link between the controllers is longer than that of the processes which change the database records problems may arise. For example, the link between the controllers can be interrupted and subsequently resumed, such that cumulative changes to a record are lost and the entire data base associated with the standby controller will thus require re initialization.
One conventional method for updating a copy of a database is to lock each changed record until the change has been transferred to the copy. This is useful only if the time scale of the transfer is shorter than that of the process producing the change. Another method is to transfer the results of each change to the copy through a reliable link. In this case, the integrity of the copy is provided by the reliability of the link.
In either case, the method of verifying that the copy is identical to the original is to lock out changes to the original and the copy, compute a checksum on both, and compare them. If they are different, then the entire original must be transferred to the standby or copy before the original can be unlocked to allow further changes.
Deficiencies in updating using these methods are apparent when there are multiple changes to the same record causing multiple messages to be transferred through the update process, thus adding overhead under heavy loading conditions from data traffic when bandwidth may be the most scarce. Verification and re synchronization are also sources of deficiencies using these methods since it requires that changes be prevented during an interval that is far too long to be acceptable.
Clearly a need exists for a method of maintaining the integrity of the data base associated with the standby controller, without locking out changes of the data base associated with the active controller in a nearly real time environment.